package darkaif.core.model{
	import sandy.primitive.Primitive3D;
	import sandy.core.scenegraph.Geometry3D;
	import sandy.core.scenegraph.Shape3D;

	public class platform_circle_float extends Shape3D implements Primitive3D {
		private var l:Geometry3D;

		private function f(v1:Number,v2:Number,v3:Number,uv00:Number,uv01:Number,uv10:Number,uv11:Number,uv20:Number,uv21:Number,normX:Number,normY:Number,normZ:Number):void {
			var uv1:Number = l.getNextUVCoordID();
			var uv2:Number = uv1 + 1;
			var uv3:Number = uv2 + 1;

			l.setUVCoords(uv1,uv00,1-uv01);
			l.setUVCoords(uv2,uv10,1-uv11);
			l.setUVCoords(uv3,uv20,1-uv21);

			l.setFaceVertexIds(l.getNextFaceID(), v1,v2,v3);
			l.setFaceUVCoordsIds(l.getNextFaceUVCoordID(), uv1,uv2,uv3);
			l.setFaceNormal(l.getNextFaceNormalID(), normX,normZ,normY);
		}

		private function f2(v1:Number,v2:Number,v3:Number):void {
			l.setFaceVertexIds(l.getNextFaceID(), v1,v2,v3);
		}

		private function v(vx:Number,vy:Number,vz:Number):void {
			l.setVertex(l.getNextVertexID(),vx,vz,vy);
		}

		public function platform_circle_float( p_Name:String=null ) {
			super( p_Name );
			geometry = generate();
		}

		public function generate(... arguments):Geometry3D {
			l = new Geometry3D();
			v(11.313705,11.313706,-3.210000);
			v(14.782069,6.122933,-3.210000);
			v(15.999997,-0.000002,-3.210000);
			v(14.782069,-6.122938,-3.210000);
			v(11.313705,-11.313710,-3.210000);
			v(6.122933,-14.782074,-3.210000);
			v(-0.000000,-16.000000,-3.210000);
			v(-6.122934,-14.782076,-3.210000);
			v(-11.313708,-11.313714,-3.210000);
			v(-14.782075,-6.122939,-3.210000);
			v(-16.000002,-0.000001,-3.210000);
			v(-14.782074,6.122936,-3.210000);
			v(-11.313707,11.313710,-3.210000);
			v(-6.122931,14.782074,-3.210000);
			v(0.000008,15.999998,-3.210000);
			v(6.122944,14.782065,-3.210000);
			v(11.313717,11.313696,-0.009999);
			v(14.782077,6.122917,-0.009999);
			v(15.999997,-0.000022,-0.009999);
			v(14.782061,-6.122958,-0.009999);
			v(11.313687,-11.313728,-0.009999);
			v(6.122906,-14.782085,-0.009999);
			v(-0.000034,-16.000000,-0.009999);
			v(-6.122969,-14.782062,-0.009999);
			v(-11.313737,-11.313684,-0.009999);
			v(-14.782090,-6.122900,-0.009999);
			v(-16.000002,0.000040,-0.009999);
			v(-14.782059,6.122974,-0.009999);
			v(-11.313679,11.313739,-0.009999);
			v(-6.122893,14.782089,-0.009999);
			v(0.000049,15.999998,-0.009999);
			v(6.122982,14.782050,-0.009999);
			v(-0.000003,-0.000001,-0.009999);
			v(-0.000002,-0.000001,-4.809999);
			v(5.510650,13.303859,-4.809999);
			v(0.000007,14.399999,-4.809999);
			v(-5.510638,13.303867,-4.809999);
			v(-10.182337,10.182340,-4.809999);
			v(-13.303867,5.510643,-4.809999);
			v(-14.400003,-0.000001,-4.809999);
			v(-13.303868,-5.510645,-4.809999);
			v(-10.182339,-10.182343,-4.809999);
			v(-5.510641,-13.303869,-4.809999);
			v(-0.000000,-14.400002,-4.809999);
			v(5.510640,-13.303867,-4.809999);
			v(10.182335,-10.182340,-4.809999);
			v(13.303863,-5.510644,-4.809999);
			v(14.399998,-0.000002,-4.809999);
			v(13.303863,5.510640,-4.809999);
			v(10.182335,10.182336,-4.809999);

			f(32,17,16,0.250047,0.749952,0.391688,0.961933,0.299785,1.000000,0.000000,0.000000,1.000000);
			f(32,18,17,0.250047,0.749952,0.462027,0.891593,0.391688,0.961933,0.000000,0.000000,1.000000);
			f(32,19,18,0.250047,0.749952,0.500095,0.799690,0.462027,0.891593,0.000000,0.000000,1.000000);
			f(32,20,19,0.250047,0.749952,0.500095,0.700215,0.500095,0.799690,0.000000,0.000000,1.000000);
			f(32,21,20,0.250047,0.749952,0.462028,0.608312,0.500095,0.700215,0.000000,0.000000,1.000000);
			f(32,22,21,0.250047,0.749952,0.391688,0.537973,0.462028,0.608312,0.000000,0.000000,1.000000);
			f(32,23,22,0.250047,0.749952,0.299785,0.499905,0.391688,0.537973,0.000000,0.000000,1.000000);
			f(32,24,23,0.250047,0.749952,0.200310,0.499905,0.299785,0.499905,0.000000,0.000000,1.000000);
			f(32,25,24,0.250047,0.749952,0.108407,0.537972,0.200310,0.499905,0.000000,0.000000,1.000000);
			f(32,26,25,0.250047,0.749952,0.038067,0.608312,0.108407,0.537972,0.000000,0.000000,1.000000);
			f(32,27,26,0.250047,0.749952,0.000000,0.700215,0.038067,0.608312,0.000000,0.000000,1.000000);
			f(32,28,27,0.250047,0.749952,0.000000,0.799690,0.000000,0.700215,0.000000,0.000000,1.000000);
			f(32,29,28,0.250047,0.749952,0.038068,0.891593,0.000000,0.799690,0.000000,0.000000,1.000000);
			f(32,30,29,0.250047,0.749952,0.108407,0.961933,0.038068,0.891593,0.000000,0.000000,1.000000);
			f(32,31,30,0.250047,0.749952,0.200310,1.000000,0.108407,0.961933,0.000000,0.000000,1.000000);
			f(32,16,31,0.250047,0.749952,0.299785,1.000000,0.200310,1.000000,0.000000,0.000000,1.000000);
			f(33,49,48,0.250746,0.250013,0.398041,0.150855,0.424897,0.214698,0.000000,0.000000,-1.000000);
			f(33,48,47,0.250746,0.250013,0.424897,0.214698,0.425270,0.284092,0.000000,0.000000,-1.000000);
			f(33,47,46,0.250746,0.250013,0.425270,0.284092,0.399044,0.348528,0.000000,0.000000,-1.000000);
			f(33,46,45,0.250746,0.250013,0.399044,0.348528,0.349747,0.397299,0.000000,0.000000,-1.000000);
			f(33,45,44,0.250746,0.250013,0.349747,0.397299,0.286043,0.424219,0.000000,0.000000,-1.000000);
			f(33,44,43,0.250746,0.250013,0.286043,0.424219,0.216689,0.424581,0.000000,0.000000,-1.000000);
			f(33,43,42,0.250746,0.250013,0.216689,0.424581,0.152399,0.398325,0.000000,0.000000,-1.000000);
			f(33,42,41,0.250746,0.250013,0.152399,0.398325,0.102985,0.349399,0.000000,0.000000,-1.000000);
			f(33,41,40,0.250746,0.250013,0.102985,0.349399,0.075933,0.285144,0.000000,0.000000,-1.000000);
			f(33,40,39,0.250746,0.250013,0.075933,0.285144,0.076314,0.215599,0.000000,0.000000,-1.000000);
			f(33,39,38,0.250746,0.250013,0.076314,0.215599,0.102410,0.151143,0.000000,0.000000,-1.000000);
			f(33,38,37,0.250746,0.250013,0.102410,0.151143,0.151821,0.102045,0.000000,0.000000,-1.000000);
			f(33,37,36,0.250746,0.250013,0.151821,0.102045,0.216009,0.075619,0.000000,0.000000,-1.000000);
			f(33,36,35,0.250746,0.250013,0.216009,0.075619,0.285262,0.075769,0.000000,0.000000,-1.000000);
			f(33,35,34,0.250746,0.250013,0.285262,0.075769,0.348886,0.102429,0.000000,0.000000,-1.000000);
			f(33,34,49,0.250746,0.250013,0.348886,0.102429,0.398041,0.150855,0.000000,0.000000,-1.000000);
			f(0,1,48,0.422595,0.134776,0.453800,0.209255,0.424897,0.214698,0.593613,0.396640,-0.700214);
			f(0,48,49,0.422595,0.134776,0.424897,0.214698,0.398041,0.150855,0.593613,0.396640,-0.700214);
			f(1,2,47,0.453800,0.209255,0.454110,0.290115,0.425270,0.284092,0.700215,0.139281,-0.700214);
			f(1,47,48,0.453800,0.209255,0.425270,0.284092,0.424897,0.214698,0.700215,0.139281,-0.700214);
			f(2,3,46,0.454110,0.290115,0.423593,0.364932,0.399044,0.348528,0.700215,-0.139281,-0.700214);
			f(2,46,47,0.454110,0.290115,0.399044,0.348528,0.425270,0.284092,0.700215,-0.139281,-0.700214);
			f(3,4,45,0.423593,0.364932,0.366083,0.421733,0.349747,0.397299,0.593613,-0.396640,-0.700214);
			f(3,45,46,0.423593,0.364932,0.349747,0.397299,0.399044,0.348528,0.593613,-0.396640,-0.700214);
			f(4,5,44,0.366083,0.421733,0.291496,0.453111,0.286043,0.424219,0.396640,-0.593613,-0.700214);
			f(4,44,45,0.366083,0.421733,0.286043,0.424219,0.349747,0.397299,0.396640,-0.593613,-0.700214);
			f(5,6,44,0.291496,0.453111,0.210637,0.453395,0.286043,0.424219,0.139281,-0.700215,-0.700214);
			f(6,43,44,0.210637,0.453395,0.216689,0.424581,0.286043,0.424219,0.139281,-0.700215,-0.700214);
			f(6,7,42,0.210637,0.453395,0.135759,0.422657,0.152399,0.398325,-0.139281,-0.700215,-0.700214);
			f(6,42,43,0.210637,0.453395,0.152399,0.398325,0.216689,0.424581,-0.139281,-0.700215,-0.700214);
			f(7,8,41,0.135759,0.422657,0.078277,0.365556,0.102985,0.349399,-0.396640,-0.593614,-0.700214);
			f(7,41,42,0.135759,0.422657,0.102985,0.349399,0.152399,0.398325,-0.396639,-0.593613,-0.700214);
			f(8,9,40,0.078277,0.365556,0.046905,0.290917,0.075933,0.285144,-0.593613,-0.396640,-0.700214);
			f(8,40,41,0.078277,0.365556,0.075933,0.285144,0.102985,0.349399,-0.593613,-0.396640,-0.700214);
			f(9,10,40,0.046905,0.290917,0.047381,0.209882,0.075933,0.285144,-0.700215,-0.139281,-0.700214);
			f(10,39,40,0.047381,0.209882,0.076314,0.215599,0.075933,0.285144,-0.700215,-0.139281,-0.700214);
			f(10,11,38,0.047381,0.209882,0.077774,0.134768,0.102410,0.151143,-0.700215,0.139281,-0.700214);
			f(10,38,39,0.047381,0.209882,0.102410,0.151143,0.076314,0.215599,-0.700215,0.139281,-0.700214);
			f(11,12,38,0.077774,0.134768,0.135134,0.077736,0.102410,0.151143,-0.593613,0.396640,-0.700214);
			f(12,37,38,0.135134,0.077736,0.151821,0.102045,0.102410,0.151143,-0.593613,0.396640,-0.700214);
			f(12,13,37,0.135134,0.077736,0.209890,0.046845,0.151821,0.102045,-0.396640,0.593613,-0.700214);
			f(13,36,37,0.209890,0.046845,0.216009,0.075619,0.151821,0.102045,-0.396640,0.593613,-0.700214);
			f(13,14,36,0.209890,0.046845,0.290632,0.046914,0.216009,0.075619,-0.139281,0.700215,-0.700214);
			f(14,35,36,0.290632,0.046914,0.285262,0.075769,0.216009,0.075619,-0.139281,0.700215,-0.700214);
			f(14,15,35,0.290632,0.046914,0.365131,0.078040,0.285262,0.075769,0.139282,0.700215,-0.700214);
			f(15,34,35,0.365131,0.078040,0.348886,0.102429,0.285262,0.075769,0.139282,0.700214,-0.700215);
			f(15,0,49,0.365131,0.078040,0.422595,0.134776,0.398041,0.150855,0.396640,0.593613,-0.700214);
			f(15,49,34,0.365131,0.078040,0.398041,0.150855,0.348886,0.102429,0.396640,0.593613,-0.700214);
			f(16,0,31,0.462506,0.109064,0.422595,0.134776,0.392277,0.039064,0.555572,0.831468,0.000001);
			f(0,15,31,0.422595,0.134776,0.365131,0.078040,0.392277,0.039064,0.555571,0.831469,-0.000003);
			f(14,30,15,0.290632,0.046914,0.300979,0.000585,0.365131,0.078040,0.195091,0.980785,-0.000002);
			f(30,31,15,0.300979,0.000585,0.392277,0.039064,0.365131,0.078040,0.195094,0.980785,0.000002);
			f(13,29,14,0.209890,0.046845,0.201689,0.000000,0.290632,0.046914,-0.195090,0.980785,-0.000002);
			f(29,30,14,0.201689,0.000000,0.300979,0.000585,0.290632,0.046914,-0.195087,0.980786,0.000002);
			f(12,28,13,0.135134,0.077736,0.109595,0.037526,0.209890,0.046845,-0.555570,0.831470,-0.000002);
			f(28,29,13,0.109595,0.037526,0.201689,0.000000,0.209890,0.046845,-0.555568,0.831471,0.000003);
			f(11,27,12,0.077774,0.134768,0.038736,0.107514,0.135134,0.077736,-0.831469,0.555571,-0.000003);
			f(27,28,12,0.038736,0.107514,0.109595,0.037526,0.135134,0.077736,-0.831468,0.555573,0.000002);
			f(10,26,11,0.047381,0.209882,0.000753,0.199647,0.077774,0.134768,-0.980785,0.195090,-0.000002);
			f(26,27,11,0.000753,0.199647,0.038736,0.107514,0.077774,0.134768,-0.980785,0.195093,0.000002);
			f(9,25,10,0.046905,0.290917,0.000000,0.299186,0.047381,0.209882,-0.980785,-0.195090,-0.000002);
			f(25,26,10,0.000000,0.299186,0.000753,0.199647,0.047381,0.209882,-0.980786,-0.195088,0.000002);
			f(8,24,9,0.078277,0.365556,0.038159,0.391347,0.046905,0.290917,-0.831470,-0.555570,-0.000002);
			f(24,25,9,0.038159,0.391347,0.000000,0.299186,0.046905,0.290917,-0.831471,-0.555568,0.000003);
			f(7,23,8,0.135759,0.422657,0.108584,0.461791,0.078277,0.365556,-0.555570,-0.831470,-0.000002);
			f(23,24,8,0.108584,0.461791,0.038159,0.391347,0.078277,0.365556,-0.555572,-0.831468,0.000003);
			f(6,22,7,0.210637,0.453395,0.200518,0.499905,0.135759,0.422657,-0.195090,-0.980785,-0.000002);
			f(22,23,7,0.200518,0.499905,0.108584,0.461791,0.135759,0.422657,-0.195092,-0.980785,0.000002);
			f(5,21,6,0.291496,0.453111,0.299953,0.499905,0.210637,0.453395,0.195090,-0.980785,-0.000002);
			f(21,22,6,0.299953,0.499905,0.200518,0.499905,0.210637,0.453395,0.195088,-0.980786,0.000002);
			f(4,20,5,0.366083,0.421733,0.391711,0.461855,0.291496,0.453111,0.555570,-0.831470,-0.000002);
			f(20,21,5,0.391711,0.461855,0.299953,0.499905,0.291496,0.453111,0.555569,-0.831471,0.000002);
			f(3,19,4,0.423593,0.364932,0.462521,0.392201,0.366083,0.421733,0.831470,-0.555570,-0.000001);
			f(19,20,4,0.462521,0.392201,0.391711,0.461855,0.366083,0.421733,0.831469,-0.555571,0.000002);
			f(2,18,3,0.454110,0.290115,0.500630,0.300212,0.423593,0.364932,0.980785,-0.195090,-0.000001);
			f(18,19,3,0.500630,0.300212,0.462521,0.392201,0.423593,0.364932,0.980785,-0.195092,0.000001);
			f(1,17,2,0.453800,0.209255,0.500584,0.200782,0.454110,0.290115,0.980785,0.195090,-0.000001);
			f(17,18,2,0.500584,0.200782,0.500630,0.300212,0.454110,0.290115,0.980786,0.195089,0.000001);
			f(0,16,1,0.422595,0.134776,0.462506,0.109064,0.453800,0.209255,0.831470,0.555570,-0.000001);
			f(16,17,1,0.462506,0.109064,0.500584,0.200782,0.453800,0.209255,0.831470,0.555569,0.000001);

			this.x = 0.000000;
			this.y = 0.000000;
			this.z = 0.000000;

			this.rotateX = 0.000000;
			this.rotateY = 0.000000;
			this.rotateZ = 0.000000;

			this.scaleX = 1.000000;
			this.scaleY = 1.000000;
			this.scaleZ = 1.000000;
			return (l);
		}
	}
}